// 设置基础路径
axios.defaults.baseURL = 'http://www.itcbc.com:8000'


// 强制体验请求拦截器 - 设置token认证(设置除了注册和登录以外的请求)
axios.interceptors.request.use(function (config) {
  // 书写逻辑 - 判断是否是注册和登录，如果不是就添加token认证;
  // console.log(config.url); // 注册和登录的路径是以/api/开头
  // 路径中不包含/api, 才能证明你不是注册和登录，才需要设置token认证
  if(config.url.indexOf('/api') == -1){
    config.headers['Authorization'] = localStorage.getItem('token')
  }

  // 返回请求参数
  return config;
}, function (error) {
  // 固定写法
  return Promise.reject(error)
})



// 设置响应拦截器 - 拦截响应后判断响应状态码
axios.interceptors.response.use(function (response) {
  // 书写逻辑
   if(response.data.code == 1){
     toastr.warning(response.data.message)
   }
  // 返回响应对象
  return response
}, function (error) {

   // 需求： 失效的token， 要求页面跳转到登录页面; 隐藏功能： 登录拦截
   // console.log() 普通输出内容：  console.dir()以展开对象的形式输出内容
  // console.dir(error.response.data.message)
  if(error.response.data.message == "身份认证失败"){
     // 页面跳转到登录页; 销毁token(无效token销毁)
     localStorage.removeItem('token')
      /* 页面跳转到登录页; 
                判断,如果是index.html直接跳转
                如果是其他页面,让他们的父页面跳转到登录页面   */        
      if(location.href.indexOf("index.html") !=1){
         // index.html页面就直接跳转
         window.location.href = './login.html'
      } else{
         //不是index.html页面就要求它的父页面跳转
         window.parent.location.href = './login.html'
      }   
  }else{
     // 普通错误,需要提示出来
    toastr.error(error.response.data.message)
  }
  // 固定写法
  return Promise.reject(error)
})



